using UnityEngine;
using System.Collections;
using System;

public class Server : MonoBehaviour 
{

	string msg = "Aperte para iniciar o Server";
	ClientesConectados topo = new ClientesConectados();
	void OnGUI ()
	{
		msg = GUI.TextField(new Rect(10,10,300,20),msg);
		
		if(Network.peerType == NetworkPeerType.Disconnected)
		{
  			if(GUI.Button(new Rect(10,35,100,30),"Conectar"))
  			{
				try
				{
   					Network.InitializeServer(10,25000,false);
				}
				
				catch(Exception e)
				{
					Debug.Log(e.ToString());
				}
  			}
 		}
		
		if(Network.peerType != NetworkPeerType.Disconnected)
		{
			msg = "servidor Ligado!";
			
			if(GUI.Button(new Rect(10,35,100,30),"Desconectar"))
			{
				Network.Disconnect();
				msg = "Aperte para iniciar o Server";
			}			
		}
	}
	
	[RPC]
	void EcoSV(String recebido, NetworkMessageInfo info)
	{
		ClientesConectados a = new ClientesConectados();
		a.nome = recebido;
		a.anterior = topo;
		topo = a;
		
		var mensagemCliente = recebido + " - Logado!";
		networkView.RPC("EcoCL",info.sender,mensagemCliente);
	}
	
	void OnApplicationQuit()
	{
		Network.Disconnect();
	}

}	

public class generateLabel : MonoBehaviour
{
	
}

public class ClientesConectados
{
	public string nome;
	public ClientesConectados anterior;
}
